Using Metaobjects to Model Concurrent Objects with PICT
نویسندگان
چکیده
We seek to support the development of open, distributed applications from plug-compatible software abstractions. In order to rigorously specify these abstractions, we are elaborating a formal object model for software composition in which objects and related software abstractions are viewed as patterns of communicating processes. The semantic foundation is Milner's π calculus, and the starting point for our object model is Pierce and Turner's encoding of objects as processes in the experimental PICT programming language. Our experience shows that common object-oriented programming abstractions such as dynamic binding, inheritance, genericity, and class variables are most easily modelled when metaobjects are explicitly reified as first class entities (i.e., processes). Furthermore, various roles that are typically merged (or confused) in object-oriented languages such as classes, implementations, and metaobjects, each show up as strongly-typed, first class processes.
منابع مشابه
Using Metaobjects to Model Concurrent Objects with PICT1
We seek to support the development of open, distributed applications from plug-compatible software abstractions. In order to rigorously specify these abstractions, we are elaborating a formal object model for software composition in which objects and related software abstractions are viewed as patterns of communicating processes. The semantic foundation is Milner's π calculus, and the starting ...
متن کاملPict: a programming language based on the Pi-Calculus
The -calculus o ers an attractive basis for concurrent programming. It is small, elegant, and well studied, and supports (via simple encodings) a wide range of high-level constructs including data structures, higher-order functional programming, concurrent control structures, and objects. Moreover, familiar type systems for the -calculus have direct counterparts in the -calculus, yielding stron...
متن کاملConcurrent Objects in a Process Calculus
Aprogramming style basedon concurrentobjects arisesalmost inevitably in languages where processes communicate by exchanging data on channels. Using the Pict language as an experimental testbed, we introduce a simple object-based programming style and compare three techniques for controlling concurrency between methods in this setting: explicit locking, a standard choice operator, and a more ref...
متن کاملSynchronizing Concurrent Objects in the π - Calculus 1
The development of concurrent object-based programming languages has suffered from the lack of any generally accepted formal foundation for defining their semantics. Therefore we are seeking for a minimal semantic foundation for defining features of concurrent object-based languages. Our previous work has shown that the π-calculus is a promising formal foundation for modelling objects, and we h...
متن کاملDesign and Partial Evaluation of Meta-Objects for a Concurrent Reflective Language
Customizable meta-objects are a powerful abstraction for extending language features and implementation mechanisms, but interpretive execution suffers from severe performance penalty. Some of this penalty can be reduced by applying partial evaluation to metainterpreters, but partial evaluation of meta-objects in existing concurrent object-oriented languages is ineffective. This paper proposes a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1996